
const {getAst, getCode,getDeps} = require('./Parser')



class Compiler {
  constructor(options={}){
    this.options = options
  }

  // 启动webpack
  run(){
    // 1,读取入口文件内容
    const filepath = this.options.entry   // 入口文件路径
    const ast = getAst(filepath)    
    const deps = getDeps(ast, filepath)
    const code  = getCode(ast)
    console.log(ast);
    console.log(deps);
    console.log(code);
    // const file =  fs.readFileSync(filepath, 'utf-8')  // utf-8 是为了转换成文本文件.使其能够转换成 AST
    // // 2,将其解析成ast 抽象语法树
    // // 借助babel 工具   @babel/parser    Babel.Parser.parse(code,[options])
    // const ast =  babelParser.parse(file,{
    //   sourceType: 'module' // 解析成 ES module
    // })
    // debugger;
    // console.log(ast);
  }
}

module.exports = Compiler